<html>
<head>
    <title>Open source .NET and Mono web services framework</title>
    <link rel="stylesheet" type="text/css" href="default.css" />
</head>
<body class="host">

<div id="header">
	<a id="btn-googlecode" href="http://code.google.com/p/servicestack" title="go to service stack project on google code"><img src="btn-googlecode.png" alt="google code project" alt="Google Code logo" /></a>

	<a href="http://www.servicestack.net" title="Open source Mono and .NET web service framework"><img src="logo-servicestack.png" alt="Service Stack" /></a>
	<h3 id="logo-title">Open source .NET and Mono web services framework</h3>

	<div id="breadcrumbs">
		<a href="http://www.servicestack.net" class="selected">servicestack.net</a>
		| <a href="http://code.google.com/p/servicestack">code.google.com</a>
		| <a href="http://www.servicestack.net/monotouch/remote-info/">monotouch tutorial</a>
		| <a href="http://www.servicestack.net/mythz_blog/">blog</a>
	</div>
</div>



<div id="content">

<div id="img-overview">
	<a href="overview.htm"><img src="ss-overview.png" alt="Service Stack Overview" title="Service Stack Overview" /></a>
	<a href="overview.htm">view architecture overview</a>
</div>

<p>
	ServiceStack is a high-performance Open source .NET web services framework that simplifies the development of XML, JSON and SOAP Web Services.
</p>

<p>
	Developed in the modern era, it has first-class support for IOC, testing and convention-based development
	enabling you to to develop your webservices entirely using pure, clean <acronym title="Plain Old CSharp Objects">POCO</acronym>
	DataContract's that are decoupled from the endpoint that it is hosted on.
</p>

<p>
	These same <acronym title="Data Tranfer Objects">DTO</acronym>'s can later be shared with any .NET client application
	eliminating the need for any generated code.
</p>

<p>
	<a href="http://www.servicestack.net/monotouch/remote-info/step4.htm">Creating a web service</a>
	 is done by adding a new Request and Response DataContract and the <strong>Service</strong> to handle them.
	With no other configuration required, they are immediately discoverable and callable via the following supported endpoints:
</p>
<ul>
	<li>REST and XML</li>
	<li>REST and JSON</li>
	<li>SOAP 1.1 / 1.2</li>
</ul>

<p>
	Services can run on both
	<a href="http://www.mono-project.com">Mono</a> and the <a href="http://www.microsoft.com/NET/">.NET Framework</a>
	and be hosted in either a ASP.NET Web Application, Windows Service or Console application.
</p>

<p>If you want to know more about Service Stack, check out the following links:</p>

<ul>
	<li><a href="http://www.servicestack.net/monotouch/remote-info/">Calling Web Services in MonoTouch</a></li>
	<li><a href="http://www.servicestack.net/ServiceStack.Examples.Clients/Default.htm">Live preview of Service Stack</a></li>
	<li><a href="http://code.google.com/p/servicestack/">ServiceStack source code hosted on google code</a></li>
	<li><a href="http://www.servicestack.net/mythz_blog/">Developer blog</a></li>
	<li><a href="http://www.ajaxstack.com">Ajax Stack</a></li>
</ul>

<div id="download">
	<h2>Download the latest release</h2>

	<span>
		Service Stack is merged into a single ServiceStack.dll assembly that's an
		easy drop-in into any .NET project.
	</span>

	<a href="http://servicestack.googlecode.com/files/ServiceStack.Examples.zip">
		<img src="btn-download.gif" alt="Download ServiceStack.Examples.zip" />
	</a>
</div>

<div id="sub-components" class="section">
	<h2>Running on high performance parts</h2>
	<span class="summary">
		Included in ServiceStack are a number of other libraries that are useful in developing
		high-performance scalable web services.<br />
		These sub-components are included in ServiceStack.dll but are also available to download seperately.
	</span>

	<div id="typeserializer" class="sub-component">
		<a class="lnk-component" title="ServiceStack.Text.TypeSerializer" href="http://code.google.com/p/servicestack/wiki/TypeSerializer">TypeSerializer</a>
		<div>
			The fastest and most compact <strong>text serializer</strong> for .NET<br/>

			<dl>
				<dd>3.5x quicker and 2.6x smaller than the .NET XML DataContractSerializer</dd>
				<dd>5.3x quicker and 1.3x smaller than the .NET JSON DataContractSerializer </dd>
				<dd>
					<em><a href="http://www.servicestack.net/benchmarks/NorthwindDatabaseRowsSerialization.1000000-times.2010-02-06.html">view the benchmarks</a></em>
				</dd>
			</dl>

			TypeSerializer's main goals are:
			<ul>
				<li>Fast</li>
				<li>Compact</li>
				<li>Human readable and writeable, self-describing text format</li>
				<li>Resilient to schema changes</li>
				<li>Non-invasive and configuration-free</li>
			</ul>
		</div>
	</div>

	<div id="redis" class="sub-component">
		<a class="lnk-component" title="ServiceStack.Redis" href="http://code.google.com/p/servicestack/wiki/ServiceStackRedis">Redis</a>
		<div>
			<a href="http://code.google.com/p/redis/">Redis</a> is arguably the best key-value store to come from the NoSQL movement.
			Similar to memcached but the dataset is not volatile. Values can either be strings lists, sets, or ordered sets.

			<br /><br />
			ServiceStack.Redis is fast, rich opensource C# Redis client:

			<ul>
				<li>Native support for persisting POCO objects</li>
				<li>Has both low-level raw bytes and high-level typed access</li>
				<li>Expose Redis server-side lists &amp; sets as IList&lt;&gt; ICollection&lt;&gt;</li>
				<li>Rich API support</li>
				<li>Comprehensive regression and test suite</li>
			</ul>
		</div>
	</div>

	<div id="ormlite" class="sub-component">
		<a class="lnk-component" href="http://code.google.com/p/servicestack/wiki/OrmLite">OrmLite</a>
		<div>


			A fast, convention-based, configuration-free <acronym title="Plain Old CSharp Objects">POCO</acronym>
			<acronym title="Object Relational Mapper">ORM</acronym> providing lightweight extension methods
			on top of <code class="inline">IDbCommand</code> and <code class="inline">IDbConnection</code> classes.
			It uses standard Data Annotation attributes simplifying the effort required to access an <acronym title="Relational Database Management System">RDBMS</acronym>.
			<br />
			<br />
			OrmLite is focused on it's core objectives:
			<ul>
				<li>Performance - with support for indexes, text blobs, etc.</li>
				<li>Simplicity - with minimal, convention-based attribute configuration</li>
				<li>Expressive power and flexibility - with access to IDbCommand and raw SQL</li>
				<li>Portable - supports multiple dbs running on both .NET and Mono platforms.</li>
			</ul>
		</div>
	</div>

	<div id="caching" class="sub-component">
		<a class="lnk-component" href="http://code.google.com/p/servicestack/wiki/Caching">Caching</a>
		<div>
			As caching is an essential technology in the development of high-performance web services,
			Service Stack has a number of different caching options available that each share the
			same common client interface for the following cache providers:
			<br /><br />

			<ul>
				<li>Memcached - The tried and tested most widely used cache provider</li>
				<li>Redis - The hottest and fastest new kid on the block</li>
				<li>In Memory Cache - Useful for single host web services and unit tests</li>
				<li>FileAndCacheTextManager - A two-tiered cache provider that has a backup filesystem cache</li>
			</ul>
		</div>
	</div>

</div>

</div>

<span class="r"></span>
<div id="footer">
	Copyright &copy; 2010 Liquidbit Limited. All rights reserved.
</div>

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-7722718-7");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
